using System;
using System.Threading;
using System.Threading.Tasks;

namespace AutoUnzip.Interfaces
{
    public interface IStep
    {
        bool ShouldExecute { get; set; }
        long ProgressMax { get; }
        Task<bool> ExecuteAsync(string baseDir, CancellationTokenSource cancellationTokenSource, IProgress<long> progress);
    }
}